<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="./css/index.css" />
<title>记事本</title>
</head>
<body>

<!-- 主体区域 -->
<section id="app">
  <!-- 输入框 -->
  <header class="header">
    <h1>小黑记事本</h1>
    <!-- 添加功能 -->
    <!-- 1. 通过v-model拿到input绑定的值 -->
    <!-- 2. 绑定个点击事件  点击时 往数组里加一下 unshift -->
    <input v-model="todoName" placeholder="请输入任务" class="new-todo" />
    <button @click="add" class="add">添加任务</button>
  </header>
  <!-- 列表区域 -->
  <section class="main">
    <ul class="todo-list">
      <li class="todo" v-for="(item,index) in list" :key="item.id">
        <div class="view">
          <span class="index">{{index + 1}}.</span> <label>{{item.name}}</label>
          <button class="destroy" @click="del(item.id)"></button>
        </div>
      </li>
    </ul>
  </section>
  <!-- 统计和清空 -->
  <footer class="footer">
    <!-- 统计 -->
    <span class="todo-count">合 计:<strong> {{list.length}} </strong></span>
    <!-- 清空 -->
    <button @click="clear" class="clear-completed">
      清空任务
    </button>
  </footer>
</section>

<!-- 底部 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>

  const app = new Vue({
    el: '#app',
    data: {
      list: [
        {id: 1, name: '敲俩小时代码'},
        {id: 4, name: '看仨小时男模'}
      ],
      todoName: ''
    },
    methods: {
        // 删除
        del(id) {
            // console.log(id) => filter 保留所有不等于该 id 的项
            this.list = this.list.filter(item => item.id !== id)
        },
        // 添加
        add() {
            // 如果为空或者空格 不添加给个提示
            if (this.todoName.trim() === '') {
                alert('不能为空大兄弟')
                return
            }
            this.list.unshift({
                id: + new Date(),
                name: this.todoName
            })
            // 添加完成之后可以清空一下
            this.todoName = ''
        },
        // 清空
        clear() {
            this.list = []
        }
    }
  })

</script>
</body>
</html>
